<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::Texture</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Texture</A></H2></H2><BLOCKQUOTE>Texture state class which encapsulates OpenGl texture functionality</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CTexture,MTexture.html,CTextureCubeMap,MTextureCubeMap.html">
<param name=before value="M,M,M,M,M^_">
<param name=after value="Md_SPSP,Md_SP,Md_,M,M">
<param name=indent value="0,1,2,3,3">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.129.1">Texture</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.129.2">Texture</A></B>(const <!1><A HREF="Texture.html#DOC.2.129.2">Texture</A>&amp; text, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.129.3">META_StateAttribute</A></B>(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Texture.html">Texture</A>, <!1><A HREF="StateAttribute.html#DOC.2.119.6.1">TEXTURE</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   bool <B><A HREF="#DOC.2.129.4">isTextureAttribute</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   int <B><A HREF="#DOC.2.129.5">compare</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DD><I>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.129.6">getAssociatedModes</A></B>(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.119.1">GLMode</A>&gt;&amp; modes) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.7">setImage</A></B>(<!1><A HREF="Image.html">Image</A>* image)
<DD><I>Set the texture image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.129.8">getImage</A></B>()
<DD><I>Get the texture image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.129.9">getImage</A></B>() const 
<DD><I>Get the const texture image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.10">copyTexImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A> )
<DD><I>Copy pixels into a 2D texture imageAs per glCopyTexImage2D.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.11">copyTexSubImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int xoffset, int yoffset, int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A> )
<DD><I>Copy a two-dimensional texture subimage.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.14">setWrap</A></B>(const <!1><A HREF="Texture.html#DOC.2.129.12">WrapParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> wrap)
<DD><I>Set the texture wrap mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> <B><A HREF="#DOC.2.129.15">getWrap</A></B>(const <!1><A HREF="Texture.html#DOC.2.129.12">WrapParameter</A> which) const 
<DD><I>Get the texture wrap mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.16">setBorderColor</A></B>(const <!1><A HREF="Vec4.html">Vec4</A>&amp; color)
<DD><I>Sets the border color for this texture.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B><A HREF="#DOC.2.129.17">borderColor</A></B>(void) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.20">setFilter</A></B>(const <!1><A HREF="Texture.html#DOC.2.129.18">FilterParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> filter)
<DD><I>Set the texture filter mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> <B><A HREF="#DOC.2.129.21">getFilter</A></B>(const <!1><A HREF="Texture.html#DOC.2.129.18">FilterParameter</A> which) const 
<DD><I>Get the texture filter mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.129.23">setInternalFormatMode</A></B>(const <!1><A HREF="Texture.html#DOC.2.129.22">InternalFormatMode</A> mode)
<DD><I>Set the internal format mode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Texture.html#DOC.2.129.22">InternalFormatMode</A> <B><A HREF="#DOC.2.129.24">getInternalFormatMode</A></B>() const 
<DD><I>Get the internal format mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.129.25">setInternalFormatValue</A></B>(const int internalFormat)
<DD><I>Set the internal format to use when creating OpenGL textures.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.129.26">getInternalFormatValue</A></B>() const 
<DD><I>Get the internal format to use when creating OpenGL textures</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const uint <B><A HREF="#DOC.2.129.27">getTextureObject</A></B>(const uint contextID) const 
<DD><I>return the OpenGL texture object for specified context</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.129.29">setSubloadMode</A></B>(const <!1><A HREF="Texture.html#DOC.2.129.28">SubloadMode</A> mode)
<DD><I>Set the texture subload mode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Texture.html#DOC.2.129.28">SubloadMode</A> <B><A HREF="#DOC.2.129.30">getSubloadMode</A></B>() const 
<DD><I>Get the texture subload mode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.129.31">setSubloadOffset</A></B>(const int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, const int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>)
<DD><I>Set the texture subload offsets.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.129.32">getSubloadOffset</A></B>(int&amp; <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>) const 
<DD><I>Get the texture subload offsets.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.129.33">setSubloadSize</A></B>(const int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, const int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A>)
<DD><I>Set the texture subload width.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.129.34">getSubloadSize</A></B>(int&amp; <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.140.10">height</A>) const 
<DD><I>Get the texture subload width.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   GLuint&amp; <B><A HREF="#DOC.2.129.35">getHandle</A></B>(const uint contextID) const 
<DD><I>Get the handle to the texture object for the current context</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   uint&amp; <B><A HREF="#DOC.2.129.36">getModifiedTag</A></B>(const uint contextID) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.37">dirtyTextureObject</A></B>()
<DD><I>Force a recompile on next apply() of associated OpenGL texture objects</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.129.38">apply</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const 
<DD><I>On first apply (unless already compiled), create the minmapped  texture and bind it, subsequent apply will simple bind to texture</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.129.39">compile</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const 
<DD><I>Compile the texture mip maps.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static   void <B><A HREF="#DOC.2.129.40">deleteTextureObject</A></B>(uint contextID, GLuint handle)
<DD><I>use deleteTextureObject instead of glDeleteTextures to allow OpenGL texture objects to cached until they can be deleted by the OpenGL context in which they were created, specified by contextID</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static   void <B><A HREF="#DOC.2.129.41">flushDeletedTextureObjects</A></B>(uint contextID)
<DD><I>flush all the cached display list which need to be deleted in the OpenGL context related to contextID</I>
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.129.12">WrapParameter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.129.13">WrapMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.129.18">FilterParameter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.129.19">FilterMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.129.22">InternalFormatMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.129.28">SubloadMode</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Image.html">Image</A>&gt;  <B><A HREF="#DOC.2.129.47">_image</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLenum <B><A HREF="#DOC.2.129.48">_target</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> <B><A HREF="#DOC.2.129.49">_wrap_s</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> <B><A HREF="#DOC.2.129.50">_wrap_t</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> <B><A HREF="#DOC.2.129.51">_wrap_r</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> <B><A HREF="#DOC.2.129.52">_min_filter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> <B><A HREF="#DOC.2.129.53">_mag_filter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable bool <B><A HREF="#DOC.2.129.54">_texParamtersDirty</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.129.22">InternalFormatMode</A> <B><A HREF="#DOC.2.129.55">_internalFormatMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.129.56">_internalFormatValue</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.129.57">_borderColor</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable GLsizei <B><A HREF="#DOC.2.129.58">_textureWidth</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable GLsizei  <B><A HREF="#DOC.2.129.59">_textureHeight</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.129.28">SubloadMode</A> <B><A HREF="#DOC.2.129.60">_subloadMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLint <B><A HREF="#DOC.2.129.61">_subloadOffsX</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLint  <B><A HREF="#DOC.2.129.62">_subloadOffsY</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLsizei <B><A HREF="#DOC.2.129.63">_subloadWidth</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLsizei  <B><A HREF="#DOC.2.129.64">_subloadHeight</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.129.42">~Texture</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.129.43">applyTexParameters</A></B>(GLenum target, <!1><A HREF="State.html">State</A>&amp; state) const 
<DD><I>Method which does setting of texture paramters.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.129.44">applyTexImage</A></B>(GLenum target, <!1><A HREF="Image.html">Image</A>* image, <!1><A HREF="State.html">State</A>&amp; state) const 
<DD><I>Method which does the creation of the texture itself, and does not set or use texture binding.</I>
</DL></P>

<P><DL>
<DT><H3>Protected Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::vector&lt;GLuint&gt; TextureNameList mutable TextureNameList <B><A HREF="#DOC.2.129.45">_handleList</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::vector&lt;uint&gt; ImageModifiedTag mutable ImageModifiedTag <B><A HREF="#DOC.2.129.46">_modifiedTag</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::map&lt;uint,std::set&lt;uint&gt; &gt;static  DeletedTextureObjectCache DeletedTextureObjectCache <B><A HREF="#DOC.2.129.65">s_deletedTextureObjectCache</A></B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="StateAttribute.html">StateAttribute</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B>cloneType</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B>clone</B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>isSameKindAs</B>(const <!1><A HREF="Object.html">Object</A>* obj) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   const char* <B>libraryName</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   const char* <B>className</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   const <!1><A HREF="StateAttribute.html#DOC.2.119.5">Type</A> <B>getType</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator <  </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator == </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator != </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef  GLenum <B>GLMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>GLModeValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>OverrideValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>Values</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>Type</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>Types</B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setDataVariance</B>(const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>getDataVariance</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const 
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>DataVariance</B>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt;  <B>_userData</B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>ref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref_nodelete</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const int <B>referenceCount</B>() const 
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Texture state class which encapsulates OpenGl texture functionality</BLOCKQUOTE>
<DL>

<A NAME="Texture"></A>
<A NAME="DOC.2.129.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Texture"></A>
<A NAME="DOC.2.129.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture(const <!1><A HREF="Texture.html#DOC.2.129.2">Texture</A>&amp; text, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
<A NAME="META_StateAttribute"></A>
<A NAME="DOC.2.129.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_StateAttribute(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Texture.html">Texture</A>, <!1><A HREF="StateAttribute.html#DOC.2.119.6.1">TEXTURE</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="isTextureAttribute"></A>
<A NAME="DOC.2.129.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isTextureAttribute() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.129.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int compare(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DD>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
<DL><DT><DD></DL><P>
<A NAME="getAssociatedModes"></A>
<A NAME="DOC.2.129.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void getAssociatedModes(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.119.1">GLMode</A>&gt;&amp; modes) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setImage"></A>
<A NAME="DOC.2.129.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setImage(<!1><A HREF="Image.html">Image</A>* image)</B></TT>
<DD>Set the texture image. 
<DL><DT><DD></DL><P>
<A NAME="getImage"></A>
<A NAME="DOC.2.129.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html">Image</A>* getImage()</B></TT>
<DD>Get the texture image. 
<DL><DT><DD></DL><P>
<A NAME="getImage"></A>
<A NAME="DOC.2.129.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Image.html">Image</A>* getImage() const </B></TT>
<DD>Get the const texture image. 
<DL><DT><DD></DL><P>
<A NAME="copyTexImage2D"></A>
<A NAME="DOC.2.129.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copyTexImage2D(<!1><A HREF="State.html">State</A>&amp; state, int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A> )</B></TT>
<DD>Copy pixels into a 2D texture imageAs per glCopyTexImage2D.
Creates an OpenGL texture object from the current OpenGL background
framebuffer contents at pos \a x, \a y with width \a width and
height \a height. \a width and \a height must be a power of two.
<DL><DT><DD></DL><P>
<A NAME="copyTexSubImage2D"></A>
<A NAME="DOC.2.129.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copyTexSubImage2D(<!1><A HREF="State.html">State</A>&amp; state, int xoffset, int yoffset, int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A> )</B></TT>
<DD>Copy a two-dimensional texture subimage. As per glCopyTexSubImage2D.
Updates portion of an existing OpenGL texture object from the current OpenGL background
framebuffer contents at pos \a x, \a y with width \a width and
height \a height. \a width and \a height must be a power of two,
and writing into the texture with offset \a xoffset and \a yoffset.
<DL><DT><DD></DL><P>
<A NAME="WrapParameter"></A>
<A NAME="DOC.2.129.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  WrapParameter</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="WRAP_S"></A>
<A NAME="DOC.2.129.12.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_S</B></TT>
<DL><DT><DD></DL><P>
<A NAME="WRAP_T"></A>
<A NAME="DOC.2.129.12.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_T</B></TT>
<DL><DT><DD></DL><P>
<A NAME="WRAP_R"></A>
<A NAME="DOC.2.129.12.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_R</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="WrapMode"></A>
<A NAME="DOC.2.129.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  WrapMode</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="CLAMP"></A>
<A NAME="DOC.2.129.13.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLAMP_TO_EDGE"></A>
<A NAME="DOC.2.129.13.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP_TO_EDGE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLAMP_TO_BORDER"></A>
<A NAME="DOC.2.129.13.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP_TO_BORDER</B></TT>
<DL><DT><DD></DL><P>
<A NAME="REPEAT"></A>
<A NAME="DOC.2.129.13.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> REPEAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MIRROR"></A>
<A NAME="DOC.2.129.13.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIRROR</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="setWrap"></A>
<A NAME="DOC.2.129.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setWrap(const <!1><A HREF="Texture.html#DOC.2.129.12">WrapParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> wrap)</B></TT>
<DD>Set the texture wrap mode
<DL><DT><DD></DL><P>
<A NAME="getWrap"></A>
<A NAME="DOC.2.129.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> getWrap(const <!1><A HREF="Texture.html#DOC.2.129.12">WrapParameter</A> which) const </B></TT>
<DD>Get the texture wrap mode
<DL><DT><DD></DL><P>
<A NAME="setBorderColor"></A>
<A NAME="DOC.2.129.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setBorderColor(const <!1><A HREF="Vec4.html">Vec4</A>&amp; color)</B></TT>
<DD>Sets the border color for this texture. Makes difference only if
wrap mode is CLAMP_TO_BORDER 
<DL><DT><DD></DL><P>
<A NAME="borderColor"></A>
<A NAME="DOC.2.129.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; borderColor(void) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="FilterParameter"></A>
<A NAME="DOC.2.129.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  FilterParameter</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="MIN_FILTER"></A>
<A NAME="DOC.2.129.18.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIN_FILTER</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MAG_FILTER"></A>
<A NAME="DOC.2.129.18.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MAG_FILTER</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="FilterMode"></A>
<A NAME="DOC.2.129.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  FilterMode</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="LINEAR"></A>
<A NAME="DOC.2.129.19.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINEAR_MIPMAP_LINEAR"></A>
<A NAME="DOC.2.129.19.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR_MIPMAP_LINEAR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINEAR_MIPMAP_NEAREST"></A>
<A NAME="DOC.2.129.19.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR_MIPMAP_NEAREST</B></TT>
<DL><DT><DD></DL><P>
<A NAME="NEAREST"></A>
<A NAME="DOC.2.129.19.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST</B></TT>
<DL><DT><DD></DL><P>
<A NAME="NEAREST_MIPMAP_LINEAR"></A>
<A NAME="DOC.2.129.19.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST_MIPMAP_LINEAR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="NEAREST_MIPMAP_NEAREST"></A>
<A NAME="DOC.2.129.19.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST_MIPMAP_NEAREST</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ANISOTROPIC"></A>
<A NAME="DOC.2.129.19.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ANISOTROPIC</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="setFilter"></A>
<A NAME="DOC.2.129.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFilter(const <!1><A HREF="Texture.html#DOC.2.129.18">FilterParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> filter)</B></TT>
<DD>Set the texture filter mode
<DL><DT><DD></DL><P>
<A NAME="getFilter"></A>
<A NAME="DOC.2.129.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> getFilter(const <!1><A HREF="Texture.html#DOC.2.129.18">FilterParameter</A> which) const </B></TT>
<DD>Get the texture filter mode
<DL><DT><DD></DL><P>
<A NAME="InternalFormatMode"></A>
<A NAME="DOC.2.129.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  InternalFormatMode</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="USE_IMAGE_DATA_FORMAT"></A>
<A NAME="DOC.2.129.22.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_IMAGE_DATA_FORMAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_USER_DEFINED_FORMAT"></A>
<A NAME="DOC.2.129.22.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_USER_DEFINED_FORMAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_ARB_COMPRESSION"></A>
<A NAME="DOC.2.129.22.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_ARB_COMPRESSION</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_S3TC_DXT1_COMPRESSION"></A>
<A NAME="DOC.2.129.22.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_S3TC_DXT1_COMPRESSION</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_S3TC_DXT3_COMPRESSION"></A>
<A NAME="DOC.2.129.22.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_S3TC_DXT3_COMPRESSION</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_S3TC_DXT5_COMPRESSION"></A>
<A NAME="DOC.2.129.22.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_S3TC_DXT5_COMPRESSION</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="setInternalFormatMode"></A>
<A NAME="DOC.2.129.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setInternalFormatMode(const <!1><A HREF="Texture.html#DOC.2.129.22">InternalFormatMode</A> mode)</B></TT>
<DD>Set the internal format mode.
Note, If the mode is set USE_IMAGE_DATA_FORMAT, USE_ARB_COMPRESSION,
USE_S3TC_COMPRESSION the internalFormat is automatically selected,
and will overwrite the previous _internalFormatValue.
<DL><DT><DD></DL><P>
<A NAME="getInternalFormatMode"></A>
<A NAME="DOC.2.129.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Texture.html#DOC.2.129.22">InternalFormatMode</A> getInternalFormatMode() const </B></TT>
<DD>Get the internal format mode
<DL><DT><DD></DL><P>
<A NAME="setInternalFormatValue"></A>
<A NAME="DOC.2.129.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setInternalFormatValue(const int internalFormat)</B></TT>
<DD>Set the internal format to use when creating OpenGL textures.
Also sets the internalFormatMode to USE_USER_DEFINED_FORMAT.
<DL><DT><DD></DL><P>
<A NAME="getInternalFormatValue"></A>
<A NAME="DOC.2.129.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int getInternalFormatValue() const </B></TT>
<DD>Get the internal format to use when creating OpenGL textures
<DL><DT><DD></DL><P>
<A NAME="getTextureObject"></A>
<A NAME="DOC.2.129.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const uint getTextureObject(const uint contextID) const </B></TT>
<DD>return the OpenGL texture object for specified context
<DL><DT><DD></DL><P>
<A NAME="SubloadMode"></A>
<A NAME="DOC.2.129.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  SubloadMode</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="OFF"></A>
<A NAME="DOC.2.129.28.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OFF</B></TT>
<DL><DT><DD></DL><P>
<A NAME="AUTO"></A>
<A NAME="DOC.2.129.28.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AUTO</B></TT>
<DL><DT><DD></DL><P>
<A NAME="IF_DIRTY"></A>
<A NAME="DOC.2.129.28.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IF_DIRTY</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="setSubloadMode"></A>
<A NAME="DOC.2.129.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setSubloadMode(const <!1><A HREF="Texture.html#DOC.2.129.28">SubloadMode</A> mode)</B></TT>
<DD>Set the texture subload mode. 
<DL><DT><DD></DL><P>
<A NAME="getSubloadMode"></A>
<A NAME="DOC.2.129.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Texture.html#DOC.2.129.28">SubloadMode</A> getSubloadMode() const </B></TT>
<DD>Get the texture subload mode. 
<DL><DT><DD></DL><P>
<A NAME="setSubloadOffset"></A>
<A NAME="DOC.2.129.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setSubloadOffset(const int <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, const int <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>)</B></TT>
<DD>Set the texture subload offsets. 
<DL><DT><DD></DL><P>
<A NAME="getSubloadOffset"></A>
<A NAME="DOC.2.129.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void getSubloadOffset(int&amp; <!1><A HREF="Viewport.html#DOC.2.140.7">x</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.140.8">y</A>) const </B></TT>
<DD>Get the texture subload offsets. 
<DL><DT><DD></DL><P>
<A NAME="setSubloadSize"></A>
<A NAME="DOC.2.129.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setSubloadSize(const int <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, const int <!1><A HREF="Viewport.html#DOC.2.140.10">height</A>)</B></TT>
<DD>Set the texture subload width. If width or height are zero then
the repsective size value is calculated from the source image sizes. 
<DL><DT><DD></DL><P>
<A NAME="getSubloadSize"></A>
<A NAME="DOC.2.129.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void getSubloadSize(int&amp; <!1><A HREF="Viewport.html#DOC.2.140.9">width</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.140.10">height</A>) const </B></TT>
<DD>Get the texture subload width. 
<DL><DT><DD></DL><P>
<A NAME="getHandle"></A>
<A NAME="DOC.2.129.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   GLuint&amp; getHandle(const uint contextID) const </B></TT>
<DD>Get the handle to the texture object for the current context
<DL><DT><DD></DL><P>
<A NAME="getModifiedTag"></A>
<A NAME="DOC.2.129.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   uint&amp; getModifiedTag(const uint contextID) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="dirtyTextureObject"></A>
<A NAME="DOC.2.129.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void dirtyTextureObject()</B></TT>
<DD>Force a recompile on next apply() of associated OpenGL texture objects
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.129.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>On first apply (unless already compiled), create the minmapped 
texture and bind it, subsequent apply will simple bind to texture
<DL><DT><DD></DL><P>
<A NAME="compile"></A>
<A NAME="DOC.2.129.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void compile(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>Compile the texture mip maps.  Implemented by simply calling apply().
<DL><DT><DD></DL><P>
<A NAME="deleteTextureObject"></A>
<A NAME="DOC.2.129.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void deleteTextureObject(uint contextID, GLuint handle)</B></TT>
<DD>use deleteTextureObject instead of glDeleteTextures to allow
OpenGL texture objects to cached until they can be deleted
by the OpenGL context in which they were created, specified
by contextID
<DL><DT><DD></DL><P>
<A NAME="flushDeletedTextureObjects"></A>
<A NAME="DOC.2.129.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void flushDeletedTextureObjects(uint contextID)</B></TT>
<DD>flush all the cached display list which need to be deleted
in the OpenGL context related to contextID
<DL><DT><DD></DL><P>
<A NAME="~Texture"></A>
<A NAME="DOC.2.129.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Texture()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="applyTexParameters"></A>
<A NAME="DOC.2.129.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void applyTexParameters(GLenum target, <!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>Method which does setting of texture paramters. 
<DL><DT><DD></DL><P>
<A NAME="applyTexImage"></A>
<A NAME="DOC.2.129.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void applyTexImage(GLenum target, <!1><A HREF="Image.html">Image</A>* image, <!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>Method which does the creation of the texture itself, and
does not set or use texture binding. 
<DL><DT><DD></DL><P>
<A NAME="_handleList"></A>
<A NAME="DOC.2.129.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;GLuint&gt; TextureNameList mutable TextureNameList _handleList</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_modifiedTag"></A>
<A NAME="DOC.2.129.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;uint&gt; ImageModifiedTag mutable ImageModifiedTag _modifiedTag</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_image"></A>
<A NAME="DOC.2.129.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Image.html">Image</A>&gt;  _image</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_target"></A>
<A NAME="DOC.2.129.48"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLenum _target</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_wrap_s"></A>
<A NAME="DOC.2.129.49"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> _wrap_s</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_wrap_t"></A>
<A NAME="DOC.2.129.50"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> _wrap_t</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_wrap_r"></A>
<A NAME="DOC.2.129.51"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.129.13">WrapMode</A> _wrap_r</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_min_filter"></A>
<A NAME="DOC.2.129.52"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> _min_filter</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_mag_filter"></A>
<A NAME="DOC.2.129.53"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.129.19">FilterMode</A> _mag_filter</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_texParamtersDirty"></A>
<A NAME="DOC.2.129.54"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable bool _texParamtersDirty</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_internalFormatMode"></A>
<A NAME="DOC.2.129.55"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.129.22">InternalFormatMode</A> _internalFormatMode</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_internalFormatValue"></A>
<A NAME="DOC.2.129.56"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _internalFormatValue</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_borderColor"></A>
<A NAME="DOC.2.129.57"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _borderColor</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_textureWidth"></A>
<A NAME="DOC.2.129.58"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable GLsizei _textureWidth</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_textureHeight"></A>
<A NAME="DOC.2.129.59"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable GLsizei  _textureHeight</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadMode"></A>
<A NAME="DOC.2.129.60"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.129.28">SubloadMode</A> _subloadMode</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadOffsX"></A>
<A NAME="DOC.2.129.61"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLint _subloadOffsX</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadOffsY"></A>
<A NAME="DOC.2.129.62"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLint  _subloadOffsY</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadWidth"></A>
<A NAME="DOC.2.129.63"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLsizei _subloadWidth</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadHeight"></A>
<A NAME="DOC.2.129.64"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLsizei  _subloadHeight</B></TT>
<DL><DT><DD></DL><P>
<A NAME="s_deletedTextureObjectCache"></A>
<A NAME="DOC.2.129.65"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;uint,std::set&lt;uint&gt; &gt;static  DeletedTextureObjectCache DeletedTextureObjectCache s_deletedTextureObjectCache</B></TT>
<DL><DT><DD></DL><P></DL>
<HR>
<DL><DT><B>Direct child classes:
</B><DD><A HREF="TextureCubeMap.html">TextureCubeMap</A><BR>
</DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
